{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Load some data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "final_database = pd.read_csv(\"path_to_final_database/feasibility_database.csv\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJOCAYAAABBfN/cAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAARuRJREFUeJzt3QucVWW9P/4H5OoFEFAQZJREw7uGpqSlIklW5oW8HTkhWh5FTaHSOCdT08I0L3kCTQ9pdvKY1NGiUo+iYh7xhlFegLwlBIKhAorckv1/fZ//b89hYAaGYdYMM/N+v16LPXuttdd61l5rb/Znred5VqtSqVRKAAAAQCFaF7NYAAAAIAjeAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd5As7TzzjunVq1a5eGCCy5Y77zXXHNN5bxt2rRJjalcDqq6/fbb8/ty+umnN3ZRaCH7vvwd8te//jU1ZfG+xXbE+7i5a0plBdhYgjfQ7P385z9PK1eurHH6T37ykwYtDy3b5hwumkvYbCkeffTRvL8OP/zwxi4KABsgeAPN2gEHHJDefvvt9Otf/7ra6U888USaOXNmOvDAA9PmYMaMGXkAGtfkyZPzZ7F3796NXRQAmgHBG2jWzjjjjPVe1Z4wYUKV+Rpb//798wA0rl122SV/Ftu2bdvYRQGgGRC8gWZt7733zle9/+d//ifNnTu3yrT3338/3X333WnHHXdMRx11VI3LeOmll9Kll16aDjnkkHz1q127dqlbt25p8ODB+fVrW7FiRV5nVAH95je/uc70Dz/8MB122GF5+jnnnFOrNt5rVgG+7777ctXSzp07p2233TZ9/vOfT88//3zlvHfeeWcaOHBg2mabbVKXLl3SCSeckF599dWNbjsb64rpse6axq9evTrdeOONaZ999klbbrll2mGHHdLZZ5+d3nnnncr34oorrsgBpmPHjqlXr165zf3SpUtTXcVrx4wZk/r165fat2+fevbsmYYPH77O/l3TvHnz0ujRo9Puu++eyxnvTdRy+NGPfpT+8Y9/rDP/3//+97xdn/3sZ1Pfvn1z2Tt16pT36/e///20fPnyatez5v677bbb8n6I/VTed/H405/+NE8fMWJE5fwxXHbZZbXa/jWPhajJMWjQoNS1a9c8Lqoe16X85WPhjTfeyM/jNWuWrbzcur6fGxKvueGGG/LntUOHDmm77bZLQ4cOrXJcry3er/W9bzVVw15z/AcffJC+/e1vV27Hmsd6TdXu43Xl92T69On589W9e/d8LO6xxx7p2muvTaVSqcZj95JLLkm77rprnj8+D3HSL47dDW3P2qIcRxxxRP57ypQpVfbX2p/Zstdffz398z//c/7MxPrj5MK3vvWt/DmtybRp09Jpp52WKioq8mviWBsyZEj6/e9/n+oivhsuvPDCtNNOO+XlxXLPO++8yu+M6mzs8Rzfd1tssUX+fox9XJM999wzv1913RaAjVICaIZ22mmn+OVb+sMf/lAaP358/vvKK6+sMs+ECRPy+H/7t38rvf766/nvLbbYYp1lnXnmmXla//79S0OGDCmdfPLJpYEDB5Zat26dx48aNWqd17z66qulLl26lFq1alX6/e9/X2XamDFj8uv233//0vLly6tMi/HVfTWXt+eb3/xmXuYhhxxSOumkk0q77bZbHh/reuWVV0rf+MY3Sm3atCkNGjSo9MUvfrHUp0+fPL1Xr16ld955p8oyb7vttjxt+PDh1b6H5fck1l3T+FNPPbXUsWPH0mc+85nScccdV9p+++0rt+39998vHXrooaVOnTqVvvCFL5Q+//nPlzp37pynH3300aWNUS5rrGOfffbJ23vMMceUjj322Mp1RnkWLVq0zmunTJlS2nbbbfM8O++8cy5L7MfyuKOOOqq0cuXKKq/52c9+lqf17t27dNhhh5VOOeWU0pFHHlnaeuut8/jY/2vvuzX333nnnZePj9j+eI8OOuig0l//+tf8Xu+yyy55ntiH8bw83HPPPbV6L8rHQqwjHg844IC8jijnY489Vqfyx+ckyrDVVlvl6UOHDq1SthkzZmzS+7k+H374Yd6v8dp27drl18dnLJbdoUOH0siRI6s9Ti+99NI8Ph6r88gjj+Tpsf3VjY99cuCBB+ZtjuMx1jl48OB13uc43tcUyyt/FqO8u+++e35/Y3x8f8S0Cy64YJ3yxOch1hfTYz/E5+HEE08s7bDDDvkYPv3009e7PWsbO3Zsft/jNT169Kiyv772ta9VzhfPy2WKz2JsV3x3xLbGZ7f8uarODTfcUPk9t99+++XvlDimY7tj3OWXX17aGPPnzy/tuuuu+bVxvJxwwgl53fF5js9FHEsxLT7vm/p5jO+HmHbLLbdUW5aHH344T4/1rl69eqO2A6AuBG+g2QfvCGPxA7Nfv35V5ongEyE2QvL6gvejjz6a51nbzJkzSzvuuGN+3VNPPbXO9AhSMa179+6lOXPm5HERwmOd8QM4gvLaNhS827dvX3rooYcqx//jH//IP95j2l577VXq1q1bafr06ZXTly5dWvrEJz5R7YmHTQ3e5R+tESjLFi5cWPnDeu+99y59/OMfz+PKXnvttcqA9vjjj5dqq1zWGCJsLF68uHJanFCIUBDTvve971V53Ztvvpnfk3jP4wRMhLw1yxonKKoLEC+99FJp6tSp65Qj1hXBMF5z9dVXrzO9XMbYv9W9fs0gtHa4qK3ysRDH6q9//etq56lr+WsKm5v6fq7Pj370o8rwGOUuW7VqVemcc86pfE/rO3jHECdxYpuqs6HgHcPNN99cZdrkyZPzexP7pvyZL4sTdPGaPfbYozRv3rzK8cuWLcuBtrzM2gbv9W1jdcdb+SRjfGeUPf/885UnW5544okqr7v//vvztsT3V5xsWdOf//znyu+++H6srfJ2fvKTn6xykuztt9/OJ0LK5Vz7s1GX4/nBBx/M4/fdd99qyxInl2L6tddeW+vyA2wKwRto9sE7nHbaaVV+JEZojueHH354fr6+4L0+P/7xj/Pr4kpzdco/tiPkR+iM0BLPJ06cWO38Gwre1a3nueeeq3zduHHj1pn+q1/9Kk874ogj6j14/+53v1vnddddd12eFj/a44f92s4///yNDmflskZIWDO0lN111115egS/NV188cWVV4er87e//a3Utm3b0nbbbVfrq16zZs3Ky4yrl2srvy/f+c53anx9fQXvM844o06vX1/5NxS8i3g/44RYLPOmm25aZ1qE0p49exYWvMs1BOoSvONqbXWi9kdMv+OOOyrHffDBB5VXZx944IF1XvPWW2+Vttxyy0KD94ABA6rdJ2effXa1x2w5CP/yl7+sdrl33313Ze2I2pg9e3a+eh7fCy+++OI60//4xz/WGLzrejzvueeeVf4fKIuTIlEzKN7zd999t9brAtgUjXvDWoAGEu0o47Zi0clatK8ud7ZW207Voj14tK3+4x//mBYuXFh5e7I333wzP86aNava10X7w6lTp6b//d//Tfvvv39avHhxOv/889MXv/jFOm1HtHFcW7QX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hIS1xdW36MQnrnLFleN4XPsH7ejRo/NVnvjhXd9XqjZGXG386U9/mj72sY/lW6XF1asePXrkx9ream1zF1Vc4wruJZdckoPjM888k/fL9OnT87bGvir3clwWV9EmTJiQ93PcCur3v/993o9RY+GKK67YpPJEFd64GltudhAnYmJdUQW3vtS1/BFyx44dm5tWxGtiGTGsWdujLu/n+sRJiKiJElfQI5DG5yuqXcf79OSTT+aaGevbznhdnBSL2ifx2jjZFa+LTg83J9F+vfxdEu2Vowp33GIrwmTso7iqWw6aGyOOpQiicQX5F7/4Rd5fsZ/rQ9yOK74XIqjGycL4/rv33nvTq6++mo+tOHkU89RWhPU45uOESRyPv/3tb/PxE01yYp/FCZ3q1MfnsXwbt+ioLcoB0NBaxc28G3ytAABkcfItapr85S9/ycEyToRRf+JqeVxpjw734gRNnPQCaGiueAMANIAI1Wvf5ix6c4+q1BG64yq/0F3/okfzCN0RuIVuoLG44g0A0AB23nnn9MEHH+T22FHdPNpmRxX9aEcdnS5Gj+fltshsmuiX4Jprrknz58/P1frj527cxjH6sgBoDII3AEADiDbRcS/q6L09+niI9u3Rnj7aH5c7q6N+RHv66HAvOqvr379/7jU/elUHaCyCNwAAABRIG28AAAAokOANAAAABWqTNjPR2+e8efPSNttsk+8ZCQAAAJubaLX93nvvpV69euV+O5pU8I7QrXMRAAAAmoI5c+akHXfcsWkF77jSXS58p06dGrs4AAAAsI4lS5bki8blDNukgne5enmEbsEbAACAzVltmkjrXA0AAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAAgneAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFalPkwoHNy+zZs9PChQsbbH3du3dPFRUVDbY+AADYHAne0IJCd//+/dOyZcsabJ0dO3ZMM2fOFL4BAGjRBG9oIeJKd4TukSNHpt69exe+vrlz56bx48fn9QreAAC0ZII3tDARuvv27dvYxQAAgBZD52oAAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgAIJ3gAAAFAgwRsAAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUqE2RCweYMWNGg66ve/fuqaKiokHXCQAA6yN4A4VYtGhRfhw2bFiDrrdjx45p5syZwjcAAJsNwRsoxNKlS/PjiBEjUr9+/RpknXPnzk3jx49PCxcuFLwBAGiawXvnnXdOb7zxxjrjR44cmcaNG5eWL1+evva1r6W77rorrVixIg0ZMiT/CO7Ro0d9lhloQnr27Jn69u3b2MUAAICm0bnaM888k958883K4cEHH8zjTzzxxPw4atSoNGnSpDRx4sQ0ZcqUNG/evHTCCScUU3IAAABoble8t9tuuyrPr7rqqrTLLrukww47LC1evDhNmDAh3XnnnWnQoEF5+m233ZZ233339OSTT6aDDz64fksOAAAAzfl2YitXrkz/+Z//mc4444zUqlWrNG3atLRq1ao0ePDgynn69++f21lOnTq1vsoLAAAALaNztXvvvTf3Wnz66afn5/Pnz0/t2rVLXbp0qTJftO+OaTWJtuAxlC1ZsqSuRQIAAIDmc8U7qpUfffTRqVevXptUgLFjx6bOnTtXDn369Nmk5QEAAECTD97Rs/lDDz2UvvzlL1fpuTiqn5fv3Vu2YMGCPK0mY8aMye3Dy8OcOXPqUiQAAABoPsE7Ok3bfvvt0+c+97nKcQMGDEht27ZNkydPrhw3a9asNHv27DRw4MAal9W+ffvUqVOnKgMAAAC02Dbeq1evzsF7+PDhqU2b/3t5VBM/88wz0+jRo1PXrl1zgD7//PNz6NajOQAAAC3VRgfvqGIeV7GjN/O1XX/99al169Zp6NChucO0IUOGpPHjx9dXWQEAAKD5B++jjjoqlUqlaqd16NAhjRs3Lg8AAADAJvRqDgAAAGyY4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgAIJ3gAAAFAgwRsAAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAAgneAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgAIJ3gAAAFAgwRsAAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAAgneAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgM0peM+dOzcNGzYsdevWLXXs2DHtvffe6dlnn62cXiqV0re//e20ww475OmDBw9OL7/8cn2XGwAAAJpf8H733XfTIYccktq2bZvuu+++9NJLL6Vrr702bbvttpXzXH311enGG29MN998c3rqqafSVlttlYYMGZKWL19eRPkBAABgs9ZmY2b+/ve/n/r06ZNuu+22ynF9+/atcrX7hhtuSN/61rfSsccem8fdcccdqUePHunee+9Np5xySn2WHQAAAJrXFe/f/OY36YADDkgnnnhi2n777dP++++fbr311srpr7/+epo/f36uXl7WuXPndNBBB6WpU6fWb8kBAACguQXv1157Ld10001p1113TQ888EA655xz0le/+tX005/+NE+P0B3iCvea4nl52tpWrFiRlixZUmUAAACAFlnVfPXq1fmK9/e+9738PK54v/DCC7k99/Dhw+tUgLFjx6bLL7+8Tq8FAACAZnXFO3oq32OPPaqM23333dPs2bPz3z179syPCxYsqDJPPC9PW9uYMWPS4sWLK4c5c+Zs7DYAAABA8wje0aP5rFmzqoz7y1/+knbaaafKjtYiYE+ePLlyelQdj97NBw4cWO0y27dvnzp16lRlAAAAgBZZ1XzUqFHpE5/4RK5qftJJJ6Wnn3463XLLLXkIrVq1ShdeeGG68sorczvwCOKXXHJJ6tWrVzruuOOK2gYAAABoHsH7wAMPTPfcc0+uHv6d73wnB+u4fdhpp51WOc9FF12Uli5dms4666y0aNGidOihh6b7778/dejQoYjyAwAAQPMJ3uHzn/98HmoSV70jlMcAAAAALd1GtfEGAAAANo7gDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAAgneAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3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pwkTJqQ777wzDRo0KM9z2223pd133z2H9YMPPrh+Sw8AAADNuY13BO3QtWvX/BgBPK6CDx48uHKe/v37p4qKijR16tRNLSsAAAA07yvea1q9enW68MIL0yGHHJL22muvPG7+/PmpXbt2qUuXLlXm7dGjR55WnRUrVuShbMmSJXUtEgAAADSfK97R1vuFF15Id9111yYVIDps69y5c+XQp0+fTVoeAAAANPngfd5556Xf/va36ZFHHkk77rhj5fiePXumlStXpkWLFlWZP3o1j2nVGTNmTK6yXh7mzJlTlyIBAABA0w/epVIph+577rknPfzww6lv375Vpg8YMCC1bds2TZ48uXJc3G5s9uzZaeDAgdUus3379qlTp05VBgAAAGiRbbyjenn0WP7rX/8638u73G47qoh37NgxP5555plp9OjRucO1CNHnn39+Dt16NAcAAKAl2qjgfdNNN+XHww8/vMr4uGXY6aefnv++/vrrU+vWrdPQoUNzp2lDhgxJ48ePr88yAwAAQPMM3lHVfEM6dOiQxo0blwcAAABo6TbpPt4AAADA+gneAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgAIJ3gAAAFCgNkUuHADqasaMGQ26vu7du6eKiooGXScA0DII3gBsVhYtWpQfhw0b1qDr7dixY5o5c6bwDQDUO8EbgM3K0qVL8+OIESNSv379GmSdc+fOTePHj08LFy4UvAGAeid4A7BZ6tmzZ+rbt29jFwMAYJPpXA0AAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAAgneAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgAIJ3gAAAFAgwRsAAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAzSl4P/bYY+mYY45JvXr1Sq1atUr33ntvlemlUil9+9vfTjvssEPq2LFjGjx4cHr55Zfrs8wAAADQfIP30qVL07777pvGjRtX7fSrr7463Xjjjenmm29OTz31VNpqq63SkCFD0vLly+ujvAAAANCktNnYFxx99NF5qE5c7b7hhhvSt771rXTsscfmcXfccUfq0aNHvjJ+yimnbHqJAQAAoKW28X799dfT/Pnzc/Xyss6dO6eDDjooTZ06tT5XBQAAAM3zivf6ROgOcYV7TfG8PG1tK1asyEPZkiVL6rNIAAAA0LJ7NR87dmy+Kl4e+vTp09hFAgAAgM0zePfs2TM/LliwoMr4eF6etrYxY8akxYsXVw5z5sypzyIBAABA8wneffv2zQF78uTJVaqOR+/mAwcOrPY17du3T506daoyAAAAQItt4/3++++nV155pUqHatOnT09du3ZNFRUV6cILL0xXXnll2nXXXXMQv+SSS/I9v4877rj6LjsAAAA0v+D97LPPpiOOOKLy+ejRo/Pj8OHD0+23354uuuiifK/vs846Ky1atCgdeuih6f77708dOnSo35IDAABAcwzehx9+eL5fd01atWqVvvOd7+QBAAAAWrpG79UcAAAAmjPBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAYHO6nRgtz+zZs9PChQsbdJ3du3dPFRUVDbpOAACAIgjebDB09+/fPy1btqxB19uxY8c0c+ZM4RsAAGjyBG/WK650R+geOXJk6t27d4Osc+7cuWn8+PF53YI3AADQ1Ane1EqE7r59+zZ2MQAAAJocnasBAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAACAAgneAAAAUCDBGwAAAArUpsiFAwDVmz17dlq4cGGDrrN79+6poqKiQdcJAAjeANAoobt///5p2bJlDbrejh07ppkzZwrfANDABG8AaGBxpTtC98iRI1Pv3r0bZJ1z585N48ePz+sWvAGgYQneANBIInT37du3sYsBABRM52oAAABQIMEbAAAACiR4AwAAQIG08WazNWPGjGa1HmDz53sHACiC4M1mZ9GiRflx2LBhDbreFStWNOj6gM2H7x0AoEiCN5udpUuX5scRI0akfv36Fb6+6dOnp4kTJ6ZVq1YVvi5g8+R7BwAokuDNZqtnz54NcpuduLctQPC9AwAUQedqAAAAUCDBGwAAAAqkqjkAtCAN2aN69+7dU0VFRYOtDwA2V4I3ALQAjdFze8eOHdPMmTOFbwBaPMEbAFqAhu65PTqQGz9+fFq4cKHgDUCLJ3gDQAvSUD23AwD/R+dqAAAAUCDBGwAAAAokeAMAAECBBG8AAAAokOANAAAABRK8AQAAoECCNwAAABRI8AYAAIACCd4AAABQoDZFLhwAaNlmzJjRoOvr3r17qqioaNB10jzMnj07LVy4sMHW51iFlkXwBgDq3aJFi/LjsGHDGnS9HTt2TDNnzhRo2OjQ3b9//7Rs2bIGW6djFVoWwRsAqHdLly7NjyNGjEj9+vVrkHXOnTs3jR8/Pl+1FGbYGHHMROgeOXJk6t27d+Hrc6xCyyN4AwCF6dmzZ+rbt29jFwNqJUK34xUogs7VAAAAoECCNwAAABRIVfMm1gNmWLFiRWrfvn2z7I0WAJrS/10N+X9yS+oNu6F/X/m903x+Jzf056MlbGPQ6/+mE7ybWA+YoVWrVqlUKjXoOuOHBQBszhqjJ/XG+D+5ufeG3Vi/r4LfO01/Pzbk56MlbGPQ63/9ELybUA+YYfr06WnixIkN1ktseX2rVq0qfF0A0JR6Um/o/5NbSm/Yjfn7yu+dpr0fG/rz0RK2Mej1fzMP3uPGjUvXXHNNmj9/ftp3333Tv//7v6ePf/zjqTlqyB4w40BsyF5iy+sDgKaiof+P1HN78/l9Rf1rCT3Ft4RtbEnb2aQ6V/vFL36RRo8enS699NL03HPP5eA9ZMiQ9NZbbxWxOgAAAGhZwfu6665LX/nKV3LVqz322CPdfPPNacstt0w/+clPilgdAAAAtJzgvXLlyjRt2rQ0ePDg/1tJ69b5+dSpU+t7dQAAANCy2nhHI/gPP/ww9ejRo8r4eB4901XXe+SaPUguXrw4Py5ZsiRt7t5///38+Prrr6fly5c3yDrnzZtX2btgmzZtmt36GmOdLWEbG2OdtrF5rLMlbGNjrNM2No91NsY2vvnmm/kxLnKUf4cULS6grF69OjWUWbNmNfvfV42xHxt6XzbGfmzo97UlbGNjbOeb/28bY/s290xYLl9t7m7RqlTP98CIL65oeP/EE0+kgQMHVo6/6KKL0pQpU9JTTz1VZf7LLrssXX755fVZBAAAAGgQc+bMSTvuuON652lTxM3Ot9hii7RgwYIq4+N59Pq5tjFjxuSO2MriLNw777yTunXrlu+NSf2cienTp08+IDp16tTYxaGJczxRnxxP1BfHEvXJ8UR9cjw1X3EN+7333ku9evXa4Lz1HrzbtWuXBgwYkCZPnpyOO+64yjAdz88777x15m/fvn0e1tSlS5f6LhYp5Q+6Dzv1xfFEfXI8UV8cS9QnxxP1yfHUPHXu3LlW8xXSiCWuYA8fPjwdcMAB+d7dN9xwQ1q6dGnu5RwAAABakkKC98knn5z+/ve/p29/+9tp/vz5ab/99kv333//Oh2uAQAAQHNXWLeNUa28uqrlNLyoyn/ppZeuU6Uf6sLxRH1yPFFfHEvUJ8cT9cnxRCG9mgMAAAD/p/UafwMAAAD1TPAGAACAAgneAAAAUCDBuxmZO3duGjZsWOrWrVvq2LFj2nvvvdOzzz5bOT2a80dP8zvssEOePnjw4PTyyy83apnZPH344YfpkksuSX379s3Hyi677JKuuOKKfAyVOZ6oyWOPPZaOOeaY1KtXr9SqVat07733Vplem2PnnXfeSaeddlq+32mXLl3SmWeemd5///0G3hI29+Np1apV6eKLL87/32211VZ5ni996Utp3rx5VZbheKK2309rOvvss/M8cVvcNTmeqO2xNGPGjPSFL3wh3+c5vqMOPPDANHv27Mrpy5cvT+eee27+7b711lunoUOHpgULFjTwltBQBO9m4t13302HHHJIatu2bbrvvvvSSy+9lK699tq07bbbVs5z9dVXpxtvvDHdfPPN6amnnspfAEOGDMkfeljT97///XTTTTelH/3oR/k/jXgex8+///u/V87jeKImS5cuTfvuu28aN25ctdNrc+zEj9oXX3wxPfjgg+m3v/1t/oFz1llnNeBW0BSOpw8++CA999xz+URhPP73f/93mjVrVv6huybHE7X9fiq755570pNPPplD1docT9TmWHr11VfToYcemvr3758effTR9Oc//zl/V3Xo0KFynlGjRqVJkyaliRMnpilTpuSThieccEIDbgUNKno1p+m7+OKLS4ceemiN01evXl3q2bNn6Zprrqkct2jRolL79u1L//Vf/9VApaSp+NznPlc644wzqow74YQTSqeddlr+2/FEbcV/M/fcc0/l89ocOy+99FJ+3TPPPFM5z3333Vdq1apVae7cuQ28BWzOx1N1nn766TzfG2+8kZ87ntjY4+lvf/tbqXfv3qUXXnihtNNOO5Wuv/76ymmOJ2p7LJ188smlYcOG1fia+L+vbdu2pYkTJ1aOmzFjRl7W1KlTCy0vjcMV72biN7/5TTrggAPSiSeemLbffvu0//77p1tvvbVy+uuvv57mz5+fq3SWRbWXgw46KE2dOrWRSs3m6hOf+ESaPHly+stf/pKf/+lPf0qPP/54Ovroo/NzxxN1VZtjJx6j+mZ8p5XF/K1bt85XyGF9Fi9enKt9xjEUHE9sjNWrV6d//ud/Tt/4xjfSnnvuuc50xxO1PY5+97vfpd122y3X6Irf5vH/3JrV0adNm5aby6z5/2FcHa+oqPBbqpkSvJuJ1157LVcN3nXXXdMDDzyQzjnnnPTVr341/fSnP83T44du6NGjR5XXxfPyNCj75je/mU455ZT8H0A0X4gTORdeeGGuXhccT9RVbY6deIwfKWtq06ZN6tq1q+OL9YrmCtHm+9RTT83tb4PjiY0RTavi+IjfUNVxPFEbb731Vm73f9VVV6XPfOYz6X/+53/S8ccfn6uRR5XyEMdLu3btKk8Slvkt1Xy1aewCUH9n1uLs6/e+9738PILSCy+8kNtQDh8+vLGLRxNz9913p5///OfpzjvvzGf8p0+fnoN3tHVzPAGbo7hydNJJJ+XO++JENGysuAL5wx/+MPcXELUmYFN+l4djjz02t+MO++23X3riiSfyb/PDDjuskUtIY3DFu5mI3oH32GOPKuN23333yp4Te/bsmR/X7ikxnpenQVlUsStf9Y7egqPaXfzHMXbs2Dzd8URd1ebYice4WrCmf/zjH7knYccX6wvdb7zxRu7wqny1OzieqK0//OEP+ViJqr5xFTuGOKa+9rWvpZ133jnP43iiNrp3756Pnw39Nl+5cmVatGhRlXn8lmq+BO9mIno0j55c1xTtc3faaaf8d9wWKj7E0W63bMmSJbk90sCBAxu8vGzeoqfgaK+2pi222KLyDK7jibqqzbETj/FDJK4+lT388MP5+Is2clBd6I5b0j300EP5tjxrcjxRW3GSOXqejlpe5SFqesXJ6GjGFxxP1EZUIY9bh63vt/mAAQNyc741/z+M+SOY+y3VPKlq3kzE1cjoECuqmscPkKeffjrdcssteQhRZSqqCl955ZW5HXj8+I1bGsR/KMcdd1xjF5/NTNyX8rvf/W4+6x9Vzf/4xz+m6667Lp1xxhl5uuOJ9Yl2ba+88kqVDtXiB2y0gYxjakPHTlwRiDZxX/nKV3KVvAhW5513Xq6BUd2tfWi5x1PU9vriF7+YqwbHbZ0+/PDDyraRMT1+/Dqe2Jjvp7VP3EQwipOFH/3oR/NzxxO1PZbihM3JJ5+cPvWpT6Ujjjgi3X///fnWYXFrsXLHonEP+NGjR+fXRE2d888/P4fugw8+uBG3jMI0Um/qFGDSpEmlvfbaK9+Wp3///qVbbrmlyvS4jc8ll1xS6tGjR57nyCOPLM2aNavRysvma8mSJaULLrigVFFRUerQoUPpIx/5SOnf/u3fSitWrKicx/FETR555JF8O5S1h+HDh9f62Hn77bdLp556amnrrbcuderUqTRixIjSe++910hbxOZ6PL3++uvVToshXlfmeKK2309rW/t2YsHxRG2PpQkTJpT69euXf0vtu+++pXvvvbfKMpYtW1YaOXJkadttty1tueWWpeOPP7705ptvNsLW0BBaxT/FxXoAAABo2bTxBgAAgAIJ3gAAAFAgwRsAAAAKJHgDAABAgQRvAAAAKJDgDQAAAAUSvAEAAKBAgjcAAAAUSPAGAOrdhRdemLp3757ee++9ynGXXXZZatWqVXr00UdTU/DJT34yHXTQQY1dDACaAcEbgM3eX//61xzYPvOZz9Q4T4S5mOfss89Om5PDDz88l6ux7bzzznloCC+//HIaP358+vrXv5622Wab1FTFiYKnn3463XXXXY1dFACaOMEbAKhXV1xxRWrbtm0699xzU1N25JFHpo997GPp0ksvTaVSqbGLA0ATJngDAPXm7bffTnfffXc6/vjjm/TV7rJhw4alv/zlL+nhhx9u7KIA0IQJ3gA0e9HOOK5a7rnnnqljx46pS5cuaciQIenxxx9fZ95p06al8847L+21116pc+fOef699947XXXVVWnVqlU1VuFetGhRfl2fPn1SmzZt0u23356rmE+ZMiXPF3+Xh9NPP32DZV7fcjemnOVq+m+88UYe1ixHVKVe02OPPZaOOeaY3Da7ffv2adddd03f+ta30gcffFDr9/q//uu/0ooVK9KJJ5643vkmTJiQy9uhQ4fUu3fvNGrUqCrtwdcse7xfL774Yvrc5z6X993WW2+djjrqqPwe1FS1P8rwr//6r6mioiK/NwMGDEgPPfRQnmfx4sX5anyvXr3y+gcOHJirlFenvB3l9x0A6qJNnV4FAE3EO++8kz71qU/l4HbIIYfkNuBLlixJv/71r9MRRxyRJk6cmI477rjK+W+99dY0adKk/JrPfvazOXRG+/ExY8akZ555Jv3qV79aZx0R8gYNGpTef//99IUvfCEH5B49euSwH4EtAm/8XbbffvvVquw1LXdjyhlBNdZ9ww03VHZ6tmZILbvppptyGI35I3xvv/326dlnn03f/e530yOPPJKHdu3abbDMkydPzo8HH3xwjfNcd911eb6TTz45h+kIxFG+J598Mof/qKa+ptdeey3vu6j2fc455+T3M/ZbbHtcia6uA7RY9vPPP5/ft2XLlqWf//zn6fOf/3z63//933TWWWellStX5lD997//Pf3iF7/I/Qe8/vrr+STGmnbcccd80qO8XQBQJyUA2My9/vrr0cC2tMsuu5QuvfTSaofhw4fnef7lX/6lymv/6Z/+KY+/9dZbq4xfsGBBqU+fPqXtttuutGzZssrxb7zxRukf//hHlXlXr15dOuOMM/JyHn/88SrTdtpppzx+yJAhpQ8++GCdsh922GF5+sba0HLrUs4YqvPiiy+W2rRpU9p3331LCxcurDJt7NixeXk/+MEPalXueD979+5d7bTYT7Gsdu3alf70pz9VKXd5P625nvJ+j+Gb3/xmlWXdf//9efzee+9d7ft96KGHlt5///3K8b/4xS/y+C5dupROPPHE0qpVqyqnff/738/Trr322mrLffzxx+fpr732Wq3eAwBYm+ANwGZvzQC2oWHN4P33v/+9tMUWW5QGDRpU7XJvvPHG/JpJkyZtsAzTpk3L81522WXVBuQ1g2R9Bu+alluXctYUvL/61a/m1zz22GPrTPvwww9zmB4wYMAG171ixYq8nI997GPrDd5f/vKX15n217/+Ne+rvfbaa539HmH5vffeW+c1Rx55ZJ7+7LPPrvN+T5kyZZ3taNu2bZ4WJy3WNHv27Dz+S1/6UrXlPvvss2t8fwCgNlQ1B6DJiHbZ999/f7XTopp1VB1fU1S5/vDDD3OV7bXbM5dvexVmzpyZqyGHqIL8ox/9KN9CKsZHNe81e7SeN2/eOsuJdsLRXrm+rW+5dSlnTaKKd3jggQeqrVIdVb9jHbXpWC1EdfUN3R97bTvttFOu0h1NAmLb1qzWvv/+++d23dUtJ8r7xz/+MbfhXtPa1flbt26dq89Hlfxo972mHXbYYb3vWdeuXfPjwoUL17tdAFATwRuAZt2+O0S73hhqsnTp0sq/v/jFL+a207vttltuJxxhLYJndHL2wx/+MIf4tcU8Rdyre33LrUs5N/Q+RXvuTRGdmIXly5evd75yO/XqxkeHatHJWrdu3Wo1f7mztLV16tRpnXHRRr6m8aG6zvNCtBEPW265ZQ1bBADrJ3gD0GyVQ9bXvva19IMf/GCD88cV8gizcWX9d7/7Xdpiiy2qXBWOQFudIkL3+pZb13Ju6H2KTuc25RZgcaU7wn85yNdkwYIFNY6PbV67DOubP6zdIVp9K2/PdtttV+h6AGi+3E4MgGbrwAMPzEFu6tSptZr/1VdfzY/R0/aaYTb84Q9/qFMZysuJKu/1pS7ljPlqKkO5V/BylfNNEbc3i97Bo7p4TaorY/RUPmfOnHzLt7V7T4+q5FGVvqblRFX0Is2aNSufUOjfv3+h6wGg+RK8AWi2evbsmU466aT0xBNPpGuuuaZKG+iyp556qvI+1dHOOKx9f+9odzx27Ng6laHcPjhCZX2pSzmjHNFGubpq4CNHjszVrc8///w0e/bsdaZH9fUIv7Vx2GGH5Wruf/rTn2qc54477kh//vOfK5/Hfol7bseJgerucR7rX7safLk9egT9tdt316c4gRDbfsABB6hqDkCdqWoOQLM2fvz4fMXyoosuSj/72c/SwIEDc5XoCMJxn+roYO3NN9/MoerjH/94Hu6+++48Lu5FHUH0N7/5Tb66/Mtf/nKj1x/34Y7XDR06NB199NG5w7R999033yu7rupSzihHbG+UIToli6vKcR/sGCK8xvsU98j+6Ec/mu8Lvssuu+S21nEP7SlTpuRAfPPNN2+wbMcff3y+J/eDDz6YaxxUJ6rIx3445ZRTcvXtCNBRttiOCP9ri/LGfcbjJEnME+3A4z7e0ab8P/7jP1KR4qp6nEhY817vALDRatX3OQA0ovJtpeKe1jV55JFHqr2Pd4j7YF999dX5llhbbbVVqWPHjqW+ffuWjjvuuNIdd9xR5Z7Ob731Vr4Xdq9evUodOnTI94keN25cvodzLD/uF17b23SFWPZFF11UqqioyPfKrm4Z1dnQcje2nHE7rq985SulHXbYId+2K+aJ23ut6emnny6dcsopeZlx663u3bvnW4PFPbRnzJhRqq099tgjDzXdTiz2VdxXfc899yy1b98+l+mCCy4oLVmypNr9HtvywgsvlD772c+WOnXqlPfh4MGDq9xGrDa3b1vfexqvideu7fTTT8/3HY/3GwDqqlX8s/FxHQCgehMmTEhf/vKXc1X4Qw45pM7LiSvbffv2TcOHD0+33357amjvvvturtYfPcj/5Cc/afD1A9B8aOMNANSrqJYenaRdfvnlqSm77rrrcrvzK664orGLAkATJ3gDAPUqelCPK8RxtTvaiTdV0SFddATXu3fvxi4KAE2cztUAgHpX7gCuKRs1alRjFwGAZkIbbwAAACiQquYAAABQIMEbAAAACiR4AwAAQIEEbwAAACiQ4A0AAAAFErwBAACgQII3AAAAFEjwBgAAgAIJ3gAAAJCK8/8BvVDzaFv8O6YAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "max_hr_col = 'HR_max_day_week0_corr'  # Change this to the actual column name\n",
    "\n",
    "# Check if the maximal heart rate parameter exists\n",
    "if max_hr_col in final_database.columns:\n",
    "    plt.figure(figsize=(10, 6))\n",
    "\n",
    "    # Create a histogram using seaborn\n",
    "    sns.histplot(\n",
    "        data=final_database,\n",
    "        x=max_hr_col,\n",
    "        bins=30,  # Adjust the number of bins as needed\n",
    "        kde=False,  # Add a kernel density estimate (KDE) overlay\n",
    "        color='grey',\n",
    "        alpha=0.7,\n",
    "    )\n",
    "\n",
    "    # Customize plot appearance\n",
    "    plt.title('Maximum heart rate during the day', fontsize=16)\n",
    "    plt.xlabel('Heart rate (bpm)', fontsize=14)\n",
    "    plt.ylabel('')\n",
    "    plt.tight_layout()\n",
    "\n",
    "    # Show the plot\n",
    "    plt.show()\n",
    "else:\n",
    "    print(f\"Column '{max_hr_col}' not found in the DataFrame.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean maximum heart rate: 61.40 bpm\n",
      "Standard deviation of maximum heart rate: 8.06 bpm\n"
     ]
    }
   ],
   "source": [
    "hr_col = 'HR_rest_night_week0'  # Change this to the actual column name\n",
    "mean_max_hr = final_database[hr_col].mean()\n",
    "std_max_hr = final_database[hr_col].std()\n",
    "print(f\"Mean maximum heart rate: {mean_max_hr:.2f} bpm\")\n",
    "print(f\"Standard deviation of maximum heart rate: {std_max_hr:.2f} bpm\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now in a function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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b1q3pX79+tK3b98K2yAvKiqSZ5991pyX6D6oN7Dofti6dWtzHa/fizfdn1u0aGG22el8Ww0bNsxvfyft2rUz533Lly/niZJws5CwsrOzLd0FZs2a5Xd6q1atzPRbb7213LRRo0aZacnJyVanTp2sfv36Wccff7yVlJRkpaSkWE899ZTP/F988YVVu3Zts0zr1q2tPn36mGVOPPFEq1atWtYxxxzjmXfy5MlWr169zLwNGza0Bg4c6Bn0c20TJkww8+irN90eHX/++edbRx99tFW3bl3rnHPOsc477zyrQYMGZppu+59//lluu6ZOnWqm66DbM2DAAKtjx47m7zFjxniWDYb9fiNGjDDl06VLF/O+bdq0MeNTU1OthQsXOi7npGvXrmb68uXLfcZrOfn7XgcPHmzG16hRwzrttNPMOmg529/zSy+95DP/7t27rVNPPdVM0+9IP++CCy4w35+Oq1evnrV27dqAy+GHH34wyzVr1sw699xzrfT0dKtHjx5mPfR7sl155ZVmviOOOMKs30UXXWT2E93X7HL09uSTT1p9+/Y10zIzM332Fx283XfffZ73adeundke/T50XXTcHXfcYQXjnXfeMcvpe1S0zbrP6LqkpaVZ3bt3ty688ELr8MMPN9MyMjKsNWvWOP4+9T285eXlWS1btjTTDj74YPNb0n39oIMOMt+N/t/f92/vFzfeeKP5Ler763rovlCzZk3Pb8ab/t46d+5spulneper/k7L0vLUeZ9//vmgyhFAaBHfie/E9/DGdzVv3jzzm9D59DvX7dX5dV8YOXKk4/esZaPr2rZtW+vMM880v5f27dt75tdt8fbTTz+Z7dAy+OOPP/yuy+WXX+64nV9++aWZpucdACIXg999913rkUceMf+/6667fOb5z3/+Y8b/3//9n+cYqseTsoI9bqrvv//exEc9Fi1evNhn2vjx481yxx57rLV3716faU7HLHt7xo0bZ95Trw28r2X0s7777jtr9OjRJu7ptY4eg5s2bWqmZ2VlWb///rvfeF72WO7vGsppvB5z9Rrm9NNPN+cF9nmAblt+fr45Huv5icals88+26pTp46ZfsYZZ1jBsNdV30evh3R79fN69+5trr/s859ffvklJNvo9F1oLNCytOOtnvvo/nDyySeba0LdvrJWrlzpWcecnByzDbof2eNyc3Otffv2BVwW9vnZxRdfbD6zUaNGJk7ruZ/3eZzuywcccIDVoUMHM00/t0WLFp54vnr1ap/31TLS80Wdrq/esV7PBcJ1/uIdP2fOnOl3eklJief6WmOxlpmWu5annncNGzbM7/e8fft2M16/lxNOOMHEeo359ndYv359a9OmTT7LTJs2zVO+/uzatctst/7+y+YI1E033WSWnzRpUlBlgOCQRE9gFV1kf/31154Lg48//thn2hNPPGHGH3bYYdZnn31W7kB94IEHmgPMt99+W+4Cr+wJhNqzZ49ZzpteOOr8emB0UtlFtg4aJPRgY9MArhdX/g4uesDVbdah7EWvXijZJytVvcjWIL9s2TKfaffcc4/n4Przzz/7XS4UF9lbt24145o0aWICsL/vW+fxpgdvXUZPOsqu24wZM8w0vUAvLi4OqBzsEwV7Pb755hu/861YscKc/JW1ceNGs5wu/+GHH/p974q+mzfffNOc+B1yyCHl9rfPP//c8976+YG65ZZbzDJ60ljZNuu6eW+zltsVV1zhOYEJNImuJ2w6Xk8gvPdtvbDWk0X785yS6PYJu/f3pkkwPaHRae+//35QJ4Depk+fbubVE34A0UN8J77biO/hie9a1vp70Hk09nl7++23zYW10/esSS2tEC9L468mfLTCfceOHT7TLrnkEr+fpX799VdTIa/L+dsHSktLTdJHl9eLegCRS6Jrpa7GCI2r3jQRrcctPSZWlESvynFTaeWpTtPjov2712OPfqYeZzTpXVZlSXQ9zujxzaYxQhODdkWiJjDXr1/vmV5QUGCddNJJfs8RqptE10ET2lu2bPFM+9///uepPNZKSr0RQMfZNm/e7Ekev/fee1agvM89NBn622+/+Vx/2dvYv3//kGyj03ehlaQ67qqrrjLHdW+aCPf+bpTGA/1O9DvXyhxNBnuXlVZ2BFvJbJ+f6XDppZeWq4ix/fe//zUVGd50nR9++GGz7FFHHVVuG5zO/cJ5/qLsyp6vvvrK7/SHHnrIc/OHnlPZioqKrGuvvdZTHmW/Z034L1q0yCosLCz3XdmVWZpU96bHC70m13PtnTt3lluXBx980CynN5D4o+e4Ol0r6xE+JNETmL+LbP3hLlmyxNR26zS9iPCmB1+79uyTTz7x+772haN3baQeIHRcoDWDobjI1gOQv4sUPajrdA0c3uyEptZq+2Pf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4O3++++3UlNTzXyHHXaYeX/9jnv27Gk1aNDAjPfexypTWFho1a9f38rIyLD++OOPKm2z/TvUeQMZ/+OPP1o5OTlmWr169aw+ffpYvXv3tg4++GCzb5577rlm2nPPPVfpfhHI70a3MSsry0w79thjrcsvv9yU6z333OMz3759+6xDDjnEqlGjhs+xAkDkEd+J78T38MZ3NXfuXPMd63vrd67rpt+j7gsjRozw7B/e9L3s36fG8PPPP998/7qO+lu88cYbK9zH1fr16z3vrb+5ykyfPt3MO2bMmIC3H0DV2b/xd999N6hjqB5PQnHcvOuuu8z4f/3rX1ZBQYHPtFdeecUcow466KBy1xj+jlne21N2/sqWqyw+zJgxw7PsiSeeaI71et6h63frrbf6Xa6yeKNx0ymWBHIeUdEyeo3VokULE7/12kuvwfT6yz5/+Pnnn0OyjU5lqudjOk6vy84880xz/qSvderUMePbtGlj4ru3lStXmuszna5xRs/JdLmzzz7batmypRl//PHHB1wWTudn3tasWeM5j9B4rPvs6aefbs5TdNu17Pydo+7cudPKzMw00/R8ZtCgQSbW6/lquM5f1MKFC80y+j7+lJSUmFhrf2avXr3MuZae9+p177XXXut3n1qwYIH5nu1zBF1Gy19/u/rqdK7nTc8v7X1B368yRx99tJn3q6++Cnj7ETyS6AkskIvs4uJiE4B1vnHjxvlMW716tTkI6/voRYae/B9++OHmgmDmzJnW77//7pn3tddeMwcYTcLpRYkegJo0aWIuyufMmWMScGVt3brVXAA1btzYc2HkHWTCcZFtH0j1wK0Hcd2mLl26WC+//LK1atUqTwAMhncQ1MRDu3btTBCpXbu2CShajk6+/vprE6D1REfLWC+K9cRIy0tPDgK9yP7pp5+sKVOmmECrB/wDDjjAfL5+t9ddd521ceNGx6Dx/PPPm+UaNmxoDvp60adBevDgwebi3d93V9WLbPXXX39ZN998s9lWDUwa8HWf+uSTTyo8MdIk0NVXX20SErqeTid0X3zxhXXVVVeZkx19fy0LPSHSgPjAAw+YJHUwdF31cx555JGIJNHVL7/8Yr43/Q3pb0kTC/q3loEGZV1uyZIlIUmi22WmJ476201OTvb7HdgnILpfAIgu4jvxnfge3vhu0ySZvr+WuX6e/g4ef/xxM81pPX/99Vdr2LBhJoGh370mRC699FJr06ZNASd4GjVq5DfW+6MVXRq7nRJgAGIziV6V4+aKFSvM++jxyCmRZlcca0Wy93E+0kl0pecJ7du3N9umx1G9jnnrrbccl4tmEl2X0WswjUfe12D//ve/K7yBKNhtdCpTPVfRpKp+bxoD9PP1Vc9dHnzwQSs/P9/v52tyXxP2ug567mOfp2kSV8+zPv/885Am0ZW+p1476nmebrfGZa3I1SR4Rdekuo16M4GeG9nXnGW/q1Cev9jnw3p+oevpfX5btkJr2rRp5txK47Z+nlZqaKV2RfuUbo8m/bUiQ3+Tuo533323qah3OtfzpjdB2DcR6HpWZO3atWbebt26BbztqJok/SdSd70DbjZx4kTzqLu2TxXM41fappXipxaf9FHJli1bSps2bTxNF0SLtm2s7bbpo4X6GJs+9h0p2syMtu2nbQL662APAGIV8R2xHt+9vf3229KzZ09p3bq1aevc3g/90Uf/tUM5baJJm5IAAARHO1vXJnG0aZyqdLyO2Kd9BGnzN3oOaLdFHgu0WSZtnmbSpEkyfvz4CufV9db+D7SpJn8duiJ0aBMd8KJttHq3c2bTDiwmT55sLlQ0gAI2bV901KhR5kL1tddei8hnaju7Zf36669m39T99+yzz45oAv3jjz82266fTwIdQCwivsMN8b0y2garVviokSNHVphAV9pusrYpP3Xq1AitIQAA7qIJaL0R7Z577olop+sV+eKLL0yfN9r/inYqXhFtJ147H9WO7Emgx2gSXe+40bsZtHH7xo0bywEHHGDuhtAvd/PmzeXm3717tznR044OMjIyTOd4WtOTn58fim0AQkZr+ho2bGh6TL/gggtML+pHHHGEedUDql640Nsxyrr55ptNZyj/93//59OBSrjo/qkd1+Tm5sqAAQNMT/Aa+DUZpJ0Fai10JGnNuHaep4koxCbiNhId8R1uiO9OZs2aZe6E1Ipq7Tisbdu2csUVV1S4jHYOvHjxYrnxxhulVatWEVtXhBbxGwDCS4+V2gHrjh07In4dXdaQIUPM9f3JJ59sOmG95ZZbTIfAFdGO6ouKiuT++++P2Homsio156J3ZehOpoFcLz601+HPPvvM9HqvNSV6cqePPto95Hbp0kXWr19vEj7aq+66devMvB07dpRVq1ZJjRo1wrFtQNDWrFlj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qLwc9aCrTRFcccUV0V6dmKVB+9JLL5Wbb77ZPFqoFwrvvvuuuYDV3sG1phf/0AuFbt26mTJq27at3HDDDXLNNdfIUUcd5QnS+hsFYgHxNzDE3eoh3laMOBsY4itiAfHAP45jCDVtCkifYNBmBJ999llJRPv27TPNuBx22GHmnB3/HIO1iZs777zT3Jxx0EEHSU5Ojql00Yo7bYLyvffek0TkqrOg4uJis4PrY13jxo2rdH67JsSpxsNuT8ypxiQR6OMZSttXU5SZ+GyfPsKSlZXlM00rb1q0aGEevde7cSgzZ9pm1rZt20wCqWz7mpTbP2WkAVtPYPS4po9F6YVCly5d5NVXXzVt1Omjm4oy20/vtNE7Jm6//XZzIaXBXNvL1EdbX3zxRTOPJiwVZYZYRfz1RdytHuKtM+Js4IiviAXEg/I4jgUu2O1P1PJavHixuZu4YcOGpkmgxo0bl5tHtzney0Wbcfniiy/MjQgZGRkBLRPv5eK97ueee2656eecc4559e6nKd7LxLVJdH10SZtxWb9+vamZ1rtt7GHOnDlmnhNPPNH8rbXWlbW9U1l7WYnAbvtQHzFXelKiJ82JXmbasZuqW7eu3+n2+L///pv9LMgOzmyU2356sar0zq+ytE0xbfdQO1HS4x9l9g89ydGLiW+++cb0k6GPnT3++OPy448/ei68FGWGWEX89UXcrR7irTPibHCIr4g24kF5HMcCF+z2a4eimkDWpir0ztvK5o8Hr7/+uvTp08eciy5fvtycg/qj26z7lN3pdDyWizZNonden3DCCT75Rfu3pvFP/9aOjhOlXLS/JrtZQH/H4bpex+BEKRPXdiyqJ3VXXnml32naRpp+OVpTUr9+ffOogX5JWnutd3npRap378z6t47Xu3XisUONQOljGErLS9WsWVM6depkOlTQx8z10R7vXnrfeustU472CXS8sg+aGzZsKDetqKjInKRoOei+picu7GflafuZixYtkoMPPlh69+5dbjq/z38eIVO//vqr3+k6XhNreocJZVa55557zrz279/fvFJmiFXEX1/E3aoj3laMOBsaxFdECvGgPI5jgavK9nft2tW0N6/TTjnlFJ/303bnVdnxbk6g9+3b15wzaAJdmzFxouWizSkvXbpULr/8cr/lovO4Wc+ePT03tnjTzmb1bn2toOrcubPpTDNRyqVG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",
      "text/plain": [
       "<Figure size 1500x450 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "def plot_histograms(dataframe, columns, titles_to_plot, bins=30, figsize=(12, 6), kde=False, color='blue', output_path=None):\n",
    "    \"\"\"\n",
    "    Plot histograms for specified columns in a DataFrame.\n",
    "\n",
    "    Parameters:\n",
    "    - dataframe (pd.DataFrame): The input DataFrame.\n",
    "    - columns (list): List of column names to plot.\n",
    "    - bins (int): Number of bins for the histogram (default: 30).\n",
    "    - figsize (tuple): Figure size (default: (12, 6)).\n",
    "    - kde (bool): Whether to overlay a KDE curve (default: False).\n",
    "    - color (str): Color for the histogram (default: 'grey').\n",
    "    \"\"\"\n",
    "    num_columns = len(columns)\n",
    "    if num_columns == 0:\n",
    "        print(\"No columns provided for plotting.\")\n",
    "        return\n",
    "\n",
    "    # Create subplots\n",
    "    fig, axes = plt.subplots(1, num_columns, figsize=(figsize[0], figsize[1] * num_columns))\n",
    "    if num_columns == 1:\n",
    "        axes = [axes]  # Ensure axes is iterable for a single plot\n",
    "\n",
    "    for ax, col in zip(axes, columns):\n",
    "        if col in dataframe.columns:\n",
    "            sns.histplot(\n",
    "                data=dataframe,\n",
    "                x=col,\n",
    "                bins=bins,\n",
    "                kde=kde,\n",
    "                color=color,\n",
    "                alpha=0.3,\n",
    "                ax=ax,\n",
    "            )\n",
    "            # Customize plot appearance\n",
    "            ax.set_title(titles_to_plot[columns.index(col)], fontsize=16)\n",
    "            ax.set_xlabel('Pulse rate (min$^{-1}$)', fontsize=16)\n",
    "            ax.set_ylabel('')\n",
    "            ax.set_ylim(0, 80)\n",
    "            #set tick size\n",
    "            ax.tick_params(axis='both', which='major', labelsize=14)\n",
    "        else:\n",
    "            print(f\"Column '{col}' not found in the DataFrame.\")\n",
    "            ax.axis('off')  # Turn off axis for missing column\n",
    "\n",
    "    # Adjust layout\n",
    "    plt.tight_layout()\n",
    "    if output_path is not None:\n",
    "        plt.savefig(output_path, dpi=300, bbox_inches='tight')\n",
    "    plt.show()\n",
    "\n",
    "# Example usage\n",
    "columns_to_plot = ['HR_rest_night_week0_corr', 'HR_rest_day_week0_corr', 'HR_max_day_week0_corr']  # Replace with your actual column names\n",
    "titles_to_plot = ['Resting pulse rate (night)', 'Resting pulse rate (day)', 'Maximum pulse rate (day)']  # Optional: Specify custom titles\n",
    "output_path = r\"C:\\Users\\z863160\\Documents\\AI4P\\PPG\\Artikel feasibility\\figs\\final results 2.0\\heart rate distributions\\heart_rate_grouped.png\"  # Replace with your desired file name\n",
    "plot_histograms(final_database, columns_to_plot, titles_to_plot, bins=30, figsize=(15,1.5),  kde=False, color='blue', output_path=output_path)\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
